A typical flash memory device includes an array of memory cells for the storage of data, a control circuit for handling the input, output, and storage of data, and a reference cell array for providing a set of reference standards each having a threshold voltage that has been precisely set by an external voltage setting machine.
A typical flash memory cell is programmed by inducing hot electron injection from the channel region near the drain to the floating gate. Erasure of a flash memory cell is typically carried out by Fowler-Nordheim tunneling between the floating gate and the source or between the floating gate and the substrate. Either programming or erasure of a flash cell results in a non-volatile threshold voltage Vt in the programmed or erased cell.
During a flash memory operation such as a memory reading, programming, erasing, or verifying, the state of a selected memory cell is compared to a state of a reference cell in the reference array specifically programmed for the operation being performed. For instance, to determine whether a specific memory cell has been programmed or erased properly, the threshold voltage of a reference cell in the reference array is compared to the threshold voltage of a reference memory cell. A sensing circuit that resides in the control circuit is used to perform the voltage comparison between the memory cell and the reference cell.
The reference cell array is typically composed of a set of reference cells each having a pre-programmed threshold voltage Vt that is appropriate for a specific memory operation. Currently, the programming of the reference cells is typically performed by an external testing device. During the reference cell programming process, the external device machine sends a series of programming pulses to the reference cell to induce hot electron injection. The threshold voltage Vt of the reference cell is then measured or read to determine if a desired threshold voltage Vt has been achieved. If Vt is below the desired value, more programming pulses are sent to the reference cell. This process of programming/erasing and/or reading is repeated until the desired threshold voltage is reached.
The repetitive process of programming, reading, and erasing of the reference cell is very time consuming. The most time intensive portion of the procedure is related to the reading step wherein a voltage is applied to the gate and drain of each reference cell and the resulting current is measured by the testing device using a direct memory access (DMA) method. For instance, it usually takes at least 10 DMA readings of a reference cell during a testing and setting process before an accurate voltage is achieved and each DMA reading may take at least 50 ms. So, the minimum time it takes to set a single reference cell is 500 ms. Higher precision requires more DMA readings and in some instances, the time it takes to set a highly precise reference could be ten times that for a regular cell. With an increasing need for multilevel devices that require multiple reference cells set at a wide range of threshold voltage, Vt, values, the reference cell testing and setting time becomes very long. For devices with dual work feature, the number of reference cells increases significantly and the reference cells testing and setting time could become unacceptably high. Therefore, it would be desirable to have a system and method for testing and setting reference cells that significantly reduces the total testing and setting time.
U.S. Pat. No. 6,418,054 to Hollmer entitled “Embedded Methodology to Program/Erase Reference Cells used in Sensing Flash Cells” teaches a method of using internal circuits to set reference cells in UV (ultra violet) sensitive or UV erasable EPROMs. Such internally derived reference standards may be usable for certain memory devices. However, these internal reference setting mechanisms are susceptible to internal variations inherent in the memory chip and thus, they are not suitable for applications where highly precise reference standards are required. An example of such an application is a multilevel memory cell device that requires a fixed range of a multilevel threshold voltage distribution that has a very small tolerance. Therefore, it would also be desirable to have a reference setting system that can provide a set of highly precise reference thresholds.